using System;
using System.Collections.Generic;

public class RemoteMachine
{
    public string Id { get; set; } = "";
    public string Name { get; set; } = "";
    public string IPAddress { get; set; } = "";
    public int Port { get; set; } = 3389;
    public string Username { get; set; } = "";
    public string Password { get; set; } = "";
    public string Description { get; set; } = "";
    public bool IsOnline { get; set; } = false;
    public DateTime LastConnected { get; set; } = DateTime.MinValue;
}

public class RemoteIISService
{
    public string SiteName { get; set; } = "";
    public int SiteId { get; set; }
    public string State { get; set; } = "";
    public int Port { get; set; }
    public string PhysicalPath { get; set; } = "";
    public string Bindings { get; set; } = "";
    public string CurrentVersion { get; set; } = "";
    public string MachineName { get; set; } = "";
    public string MachineIP { get; set; } = "";
    public bool Selected { get; set; } = false;
}

public class RemoteConnectionResult
{
    public RemoteMachine Machine { get; set; }
    public bool IsConnected { get; set; }
    public List<RemoteIISService> IISServices { get; set; } = new List<RemoteIISService>();
    public string ErrorMessage { get; set; } = "";
}
